In the context of the World Wide Web, a bookmark is a locally stored Uniform Resource Identifier (URI). All modern web browsers include bookmark features. Bookmarks are called favorites or Internet shortcuts in Internet Explorer, and by virtue of that browser's large market share, these terms have been synonymous with bookmark since the first browser war.[1] Bookmarks are normally accessed through a menu in the user's web browser, and folders are commonly used for organization. In addition to bookmarking methods within most browsers, many external applications offer bookmark management.
Bookmarks have been incorporated in browsers since the Mosaic browser in 1993.[2] Bookmark lists were called Hotlists in Mosaic[3] and in previous versions of Opera; this term has faded from common use. Other early web browsers such as ViolaWWW and Cello also had bookmarking features.
With the advent of social bookmarking, shared bookmarks have become a means for users sharing similar interests to pool web resources, or to store their bookmarks in such a way that they are not tied to one specific computer or browser. Web-based bookmarking services let users save bookmarks on a remote web server, accessible from anywhere.
Newer browsers have expanded the "bookmark" feature to include variations on the concept of saving links. Mozilla Firefox introduced live bookmarks in 2004,[4] which resemble standard bookmarks but contain a list of links to recent articles supplied by a news site or weblog, which is regularly updated via RSS feeds. "Bookmarklets" are JavaScript programs stored as bookmarks that can be clicked to perform a function.
Contents |
Each browser has a built-in tool for managing the list of bookmarks. The list storage method varies, depending on the browser, its version, and the operating system on which it runs.
Netscape-derived browsers store bookmarks in the single HTML-coded file bookmarks.html. This approach permits publication and printing of a categorized and indented catalog, and works across platforms. Bookmark names need not be unique. Editing this file outside of its native browser requires editing HTML.
Firefox 3 stores bookmarks, history, cookies, and preferences in a transactionally secure database format (SQLite).
Internet Explorer's "Favorites" (also "Internet Shortcuts") are stored as individual files named with the original link name, and the filename extension ".URL",[5] for example "Home Page.URL" collected in a directory named "Favorites" which may have subdirectories. Bookmark names must be unique within a folder. Each file contains the original URL and Microsoft-specific metadata. Browsers have varying abilities to import and export bookmarks to favorites, and vice versa.[6][7][8]
Bookmarklets are JavaScript programs stored as bookmarks. The term is a portmanteau of the words bookmark and applet. Bookmarklets are possible because the JavaScript URI scheme allows JavaScript programs to be stored as URIs, which can be stored in bookmarks. Bookmarklets have access to the current page, which they may inspect and change. As such, they can be simple "one-click" tools which add functionality to the browser. Bookmarklets are typically installed by navigating to a web page that links to a JavaScript URI, right-clicking the link, and clicking the bookmark option.
Web developer Steve Kangas got the idea from the Netscape JavaScript Guide,[9] and coined the term bookmarklets in 1998.[10] Brendan Eich, the inventor of JavaScript, explained bookmarklets as follows:
They were a deliberate feature in this sense: I invented thejavascript:
URL along with JavaScript in 1995, and intended thatjavascript:
URLs could be used as any other kind of URL, including being bookmark-able.In particular, I made it possible to generate a new document by loading, e.g.
javascript:'hello, world'
, but also (key for bookmarklets) to run arbitrary script against the DOM of the current document, e.g.javascript:alert(document.links[0].href)
. The difference is that the latter kind of URL uses an expression that evaluates to the undefined type in JS. I added the void operator to JS before Netscape 2 shipped to make it easy to discard any non-undefined value in ajavascript:
URL.—Brendan Eich, email to Simon Willison[11]
|